package com.wyh.mapper.g3mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wyh.domain.po.g3po.Feeclassification;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author Kirsch
* @description 针对表【feeclassification(费项分类表)】的数据库操作Mapper
* @createDate 2024-05-21 09:56:38
* @Entity generator.domain.Feeclassification
*/


public interface FeeclassificationMapper extends BaseMapper<Feeclassification> {


    /**
     * 获取树结构
     */
    List<Feeclassification> selectList();

    /**
     * 添加分类/费项
     */
    void addFeeclassification(Feeclassification feeclassification);

    /**
     * 删除分类/费项
     */
    void deleteFeeclassification(Integer id);

    /**
     * 判断是否有子类
     */
    boolean hasChildren(Integer parentid);

    /**
     * 判断是否有费项
     */
    boolean hasFeeItems(Integer parentid);


    /**
     * 编辑分类
     */

    void updateFeeclassification(Feeclassification feeClassification);
    /**
     * 根据名称和父ID查询分类数量
     */
    int countByNameAndParentId(@Param("name") String name, @Param("parentid") Integer parentid);

    /**
     * 根据名称和父ID查询分类数量（排除指定ID）
     */
    int countByNameAndParentIdExcludingId(@Param("name") String name, @Param("parentid") Integer parentid, @Param("id") Integer id);


    /**
     * 根据关键词搜索分类名称
     */
    List<Feeclassification> searchByName(@Param("keyword") String keyword);
}




